// Output:
// Eastern Standard time
// Universal Greenwich time
// Central Standard time
package main

import "fmt"

type TZ int

const (
	HOUR TZ = 60 * 60
	UTC  TZ = 0 * HOUR
	EST  TZ = -5 * HOUR
	CST  TZ = -6 * HOUR  
)

var timeZones = map[TZ]string { UTC:"Universal Greenwich time", 
							    EST:"Eastern Standard time",
								CST:"Central Standard time" }

func (tz TZ) String() string { 	// Method on TZ (not ptr)
	for name, zone := range timeZones {
		if tz == name {
			return zone
		}
	}
	return ""
}

func main() {
	fmt.Println(EST) 		  // Print* knows about method String() of type TZ
	fmt.Println(0 * HOUR)
	fmt.Println(-6 * HOUR)   
}
/* Output:
Eastern Standard time
Universal Greenwich time
Central Standard time
*/